Computer arrangements, including microprocessors and digital signal processors, have been designed for a wide range of applications and have been used in virtually every industry. Many of these applications have required battery operation and portability and have, therefore, emphasized minimal levels of power consumption and compactness. This has lead to the development of relatively compact computing-engine designs that operate with minimal levels of power consumption. Some applications have further required a high-speed computing engine that can perform effectively on a real-time or near real-time basis.
For many applications, a particular computing engine is selected as a function of how efficiently the engine can process the type of data anticipated to be served for the application at hand. Optimizing the processing throughput for certain types of applications can contribute significantly to the overall product performance. Thus, for many applications, throughput is the main factor in the selection process, and the other application requirements play a less important role.
For certain types of applications, it is important that the computing engine provide high processing throughput without any significant compromise on power consumption. One such application is mobile wireless communications applications. Mobile communicators are battery operated and involve processing large volumes of data associated with voice communications in real time. For effective communication, compromises must be made on power consumption to assure that the mobile communicator has sufficient processing power to handle the large volumes of voice and channel coding in real time. This is because the processing of the large quantities of such coding can increase power consumption significantly. Computing engines arranged to mitigate power consumption problems often become burdened when encountering such quantities of data. This can severely denigrate the performance of the mobile communicator by decreasing the quality of the communications and by limiting the ability of the computing engine to handle other important tasks concurrently.